<!doctype html>
<html lang=ru id=faq>

<!-- If you make edits to any FAQ documents, please start each sentence
     on a new line, and try to keep the general formatting consistent
     with the rest of the pages -->

<title>OpenBSD PF: Начало работы</title>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="../../openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/faq/pf/config.html">

<h2 id=OpenBSD>
<a href="../../index.html">
<i>Open</i><b>BSD</b></a>
PF - Начало Работы
<small>
<a href="index.html">[FAQ PF - На главную]</a>
</small>
</h2>
<hr>

<ul>
  <li><a href="#activate" >Активация</a>
  <li><a href="#config"   >Конфигурация</a>
  <li><a href="#control"  >Управление</a>
</ul>

<hr>

<h2 id="activate">Активация</h2>

PF включён по умолчанию.
Если вы хотите отключить автозапуск PF во время загрузки системы, используйте
программу <a href="https://man.openbsd.org/rcctl">rcctl(8)</a>:

<pre class="cmdbox">
# <b>rcctl disable pf</b>
</pre>

Перезагрузите систему, чтобы изменения вступили в силу.

<p>
Также вы можете активировать и деактивировать PF вручную, используя
программу <a href="https://man.openbsd.org/pfctl">pfctl(8)</a>:

<pre class="cmdbox">
# <b>pfctl -e</b>
# <b>pfctl -d</b>
</pre>

Это позволит включить и отключить PF. Однако набор правил при этом не загрузится.
Он должен быть загружен отдельно, до или после включения PF.

<h2 id="config">Конфигурация</h2>

PF считывает свою конфигурацию из файла
<a href="https://man.openbsd.org/pf.conf">pf.conf(5)</a> во время запуска системы,
после того, как выполнятся системные
<a href="https://man.openbsd.org/rc">rc-скрипты</a>.
Обратите внимание, что хотя <a href="https://man.openbsd.org/pf.conf">pf.conf(5)</a>,
используемый по умолчанию, загружается системными rc-скриптами, это всего лишь
текстовый файл, интерпретируемый при помощи
<a href="https://man.openbsd.org/pfctl">pfctl(8)</a>
и используемый <a href="https://man.openbsd.org/pf">pf(4)</a>.

Для некоторых приложений, другие наборы правил могут быть загружены из иных файлов
после загрузки системы.

<p>
<code>pf.conf</code> состоит из нескольких частей:

<ul>
  <li><b><a href="macros.html">Макросы:</a></b>
    Пользовательские переменные, которые могут содержать IP-адреса, имена интерфейсов и т.д.
  <li><b><a href="tables.html">Таблицы:</a></b>
    Структура, используемая для хранения списков IP-адресов.
  <li><b><a href="https://www.openbsd.org/faq/pf/options.html">Опции:</a></b>
    Различные опции контроля работы PF.
  <li><b><a href="https://www.openbsd.org/faq/pf/filter.html">Правила Фильтрации:</a></b>
    Разрешают выборочную фильтрацию или блокировку пакетов при их прохождении через любой из
    интерфейсов. Правилам фильтрации могут быть заданы параметры для указания
  <a href="https://www.openbsd.org/faq/pf/nat.html">преобразования сетевых адресов</a> и
  <a href="https://www.openbsd.org/faq/pf/rdr.html">перенаправления трафика</a>.
</ul>

Пустые строки игнорируются, а строки, начинающиеся с <code>#</code>, воспринимаются
как комментарии.

<h2 id="control">Управление</h2>

После загрузки, пакетным фильтром PF можно управлять при помощи утилиты
<a href="https://man.openbsd.org/pfctl">pfctl(8)</a>.
Некоторые примеры команд:

<pre class="cmdbox"># <b>pfctl -f  /etc/pf.conf</b>	Загрузить файл pf.conf
# <b>pfctl -nf /etc/pf.conf</b>	Проанализировать синтаксис, но не загружать сам файл.
# <b>pfctl -sr</b>			Показать текущий набор правил
# <b>pfctl -ss</b>			Показать таблицу текущих состояний
# <b>pfctl -si</b>			Показать статистику фильтра и счетчики
# <b>pfctl -sa</b>			Покажите ВСЁ что возможно показать
</pre>

Полный список команд можно найти в <a href="https://man.openbsd.org/pfctl">man-странице</a>.
